home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 April: Mac OS SDK / Dev.CD Apr 97 SDK1.toast / Development Kits (Disc 1) / Apple Shared Library Manager / ASLM Examples / TestTools / Sources / MITest1.cp < prev    next >
Encoding:
Text File  |  1996-11-19  |  2.6 KB  |  158 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        MITest1.cp
  3.  
  4.     Contains:    Multiple-inheritance test classes
  5.  
  6.     Copyright:    © 1993 by Apple Computer, Inc., all rights reserved.
  7.  
  8. */
  9.  
  10. #ifndef __MITEST1__
  11. #include "MITest1.h"
  12. #endif
  13.  
  14. /*******************************************************************************
  15. ** MMixin1
  16. ********************************************************************************/
  17.  
  18. MMixin1::MMixin1(int a)
  19. {
  20.     fFieldm = a;
  21. }
  22.  
  23. MMixin1::~MMixin1()
  24. {}
  25.  
  26. int MMixin1::Add1(int a)
  27. {
  28.     return fFieldm += a + 1;
  29. }
  30.  
  31. int MMixin1::Sub1(int a)
  32. {
  33.     return fFieldm -= a + 1;
  34. }
  35.  
  36. /*******************************************************************************
  37. ** MMixin2
  38. ********************************************************************************/
  39.  
  40. MMixin2::MMixin2(int a)
  41. {
  42.     fFieldm = a;
  43. }
  44.  
  45. MMixin2::~MMixin2()
  46. {}
  47.  
  48. int MMixin2::Add2(int a)
  49. {
  50.     return fFieldm += a + 2;
  51. }
  52.  
  53. int MMixin2::Sub2(int a)
  54. {
  55.     return fFieldm -= a + 2;
  56. }
  57.  
  58. /*******************************************************************************
  59. ** MMixin3
  60. ********************************************************************************/
  61.  
  62. MMixin3::MMixin3(int a)
  63. {
  64.     fFieldm = a;
  65. }
  66.  
  67. MMixin3::~MMixin3()
  68. {}
  69.  
  70. int MMixin3::Add3(int a)
  71. {
  72.     return fFieldm += a + 3;
  73. }
  74.  
  75. int MMixin3::Sub3(int a)
  76. {
  77.     return fFieldm -= a + 3;
  78. }
  79.  
  80. /*******************************************************************************
  81. ** TMainClass
  82. ********************************************************************************/
  83.  
  84. TMainClass::TMainClass(int a)
  85. {
  86.     fFieldt = a;
  87. }
  88.  
  89. TMainClass::~TMainClass()
  90. {}
  91.  
  92. int TMainClass::Mul(int a)
  93. {
  94.     return fFieldt *= a*2;
  95. }
  96.  
  97. int TMainClass::Div(int a)
  98. {
  99.     return fFieldt /= a*2;
  100. }
  101.  
  102. /*******************************************************************************
  103. ** TMixedClass
  104. ********************************************************************************/
  105.  
  106. TMixedClass::TMixedClass(int a) :
  107.     MMixin1(a), MMixin2(a), TMainClass(a)
  108. {}
  109.  
  110. TMixedClass::~TMixedClass()
  111. {}
  112.  
  113. int TMixedClass::Sub1(int a)
  114. {
  115.     return MMixin1::fFieldm -= a;
  116. }
  117.  
  118. int TMixedClass::Add2(int a)
  119. {
  120.     return MMixin2::fFieldm += a;
  121. }
  122.  
  123. int TMixedClass::Div(int a)
  124. {
  125.     return fFieldt /= a;
  126. }
  127.  
  128. /*******************************************************************************
  129. ** TMixedClass2
  130. ********************************************************************************/
  131.  
  132. TMixedClass2::TMixedClass2(int a) :
  133.     MMixin3(a), TMixedClass(a), MMixin1(a)
  134. {}
  135.  
  136. TMixedClass2::~TMixedClass2()
  137. {}
  138.  
  139. int TMixedClass2::Sub2(int a)
  140. {
  141.     return MMixin2::fFieldm -= a;
  142. }
  143.  
  144. int TMixedClass2::Add1(int a)
  145. {
  146.     return MMixin1::fFieldm += a;
  147. }
  148.  
  149. int TMixedClass2::Add3(int a)
  150. {
  151.     return MMixin3::fFieldm += a;
  152. }
  153.  
  154. int TMixedClass2::Mul(int a)
  155. {
  156.     return fFieldt *= a;
  157. }
  158.